package cz.semjobKB.search.impl;


import cz.semjobKB.conllx.api.ISentence;
import cz.semjobKB.conllx.api.IWord;
import cz.semjobKB.search.api.IMatch;
import cz.semjobKB.search.api.ISearchMatches;

import java.util.List;

/**
 * Class stores the matches of one sentence
 */
public class SearchMatch implements ISearchMatches {

	List<IMatch> predicate;
	List<IMatch> subject;
	List<IMatch> objects;
	List<List<IWord>> terminology;
	ISentence sentence;
	int sentencePos;

    /**
     * Constructor
     * @param pred      Predicate matches
     * @param sub       Subject matches
     * @param obj       Object matches
     * @param termin    Terminology matches
     * @param sentence  Sentence where the matches were found
     * @param sentNo    Position of the sentence counted from teh beginning
     */
	public SearchMatch (List<IMatch> pred, List<IMatch> sub, List<IMatch> obj, List<List<IWord>> termin, ISentence sentence,int sentNo) {
		predicate = pred;
		subject = sub;
		objects = obj;
		terminology = termin;
		this.sentence = sentence;
		this.sentencePos = sentNo;
	}

	
	public List<IMatch> getPredicateMatch() {		
		return predicate;
	}

	
	public List<IMatch> getSubjectMatch() {		
		return subject;
	}

	
	public List<IMatch> getObjectMatch() { 
		return objects;
	}
	
	
	public ISentence getSentence() {
		return sentence;
	}

	
	public int getSentPos() {
		return sentencePos;
	}

	
	public List<List<IWord>> getTermMatch() {
		return terminology;
	}
	
			
}
